var wE = {
    wE : window.wangEditor
    //用来存放不同的 wangEditor 对象
    ,tag:{}
    //用来存放不同的 wangEditor 对象的菜单配置
    ,menu:{}
    ,create:function (select1,select2,tag,fn) {
        (tag) || (tag="we0");
        if (select1 && select2) {
            var editor = new this.wE($(select1)[0], $(select2)[0]);
        }
        else{
            var editor = new this.wE($(select1)[0]);
        }
        this.tag[tag] = editor;

        try {
            this.tag[tag].customConfig.menus = this.get_menu(tag);
            //其它设置
            (typeof fn.other === "function") && fn.other.call(this.tag[tag]);

            (typeof fn.onchange === "function") && this.onchange(tag,fn.onchange);
            (typeof fn.onfocus === "function") && this.onfocus(tag,fn.onfocus);
            (typeof fn.onblur === "function") && this.onblur(tag,fn.onblur);
        }catch (e) {
            console.log(e);
        }

        editor.create();
        return this;
    }
    ,set_html:function (value,tag) {
        (tag) || (tag="we0");
        try {
            this.tag[tag].txt.html(value);
        }catch (e) {
            console.log(e);
        }
        return this;
    }
    ,get_html:function (tag) {
        (tag) || (tag="we0");
        try {
            return tag ? this.tag[tag].txt.html() : "";
        }catch (e) {
            console.log(e);
        }

    }
    ,append:function (value,tag) {
        (tag) || (tag="we0");
        try {
            this.tag[tag].append(value);
        }
        catch (error) {
            console.log(error.message);
        }
        return this;
    }
    ,clear:function (tag) {
        (tag) || (tag="we0");
        try {
            this.tag[tag]['clear']();
        }catch (e) {
            console.log(e);
        }
        return this;
    }
    ,onchange:function (tag,fn) {
        (tag) || (tag="we0");
        var self = this;
        try {
            if (typeof this.tag[tag].customConfig.onchange != "function"){
                this.tag[tag].customConfig.onchange = function (html) {
                    (typeof fn === "function") &&　fn.call(self.tag[tag],html);
                }
            }
        }catch (e) {
            console.log(e);
        }
    }
    ,onfocus:function (tag,fn) {
        (tag) || (tag="we0");
        var self = this;
        try {
            if (typeof this.tag[tag].customConfig.onfocus != "function"){
                this.tag[tag].customConfig.onfocus = function () {
                    (typeof fn === "function") &&　fn.call(self.tag[tag]);
                }
            }
        }catch (e) {
            console.log(e);
        }
    }
    ,onblur:function (tag,fn) {
        (tag) || (tag="we0");
        var self = this;
        try {
            if (typeof this.tag[tag].customConfig.onblur != "function"){
                this.tag[tag].customConfig.onblur = function () {
                    (typeof fn === "function") &&　fn.call(self.tag[tag]);
                }
            }
        }catch (e) {
            console.log(e);
        }
    }
    ,set_menu:function (arr,tag) {
        (tag) || (tag="we0");
        try {
            if (Object.prototype.toString.call(arr)==="[object Array]"){
                this.menu[tag]=arr;
            }
            else{
                this.menu[tag]=[
                    'head',  // 标题
                    'bold',  // 粗体
                    'fontSize',  // 字号
                    'fontName',  // 字体
                    'italic',  // 斜体
                    'underline',  // 下划线
                    'strikeThrough',  // 删除线
                    'foreColor',  // 文字颜色
                    'backColor',  // 背景颜色
                    'link',  // 插入链接
                    'list',  // 列表
                    'justify',  // 对齐方式
                    'quote',  // 引用
                    'emoticon',  // 表情
                    'image',  // 插入图片
                    'table',  // 表格
                    'video',  // 插入视频
                    'code',  // 插入代码
                    'undo',  // 撤销
                    'redo'  // 重复
                ];
            }
        }catch (e) {
            
        }
        return this;
    }
    ,get_menu:function (tag) {
        (tag) || (tag="we0");
        try {
            if (Object.prototype.toString.call(this.menu[tag])==="[object Array]") {
                return this.menu[tag];
            }
            else{
                return [
                    'head',  // 标题
                    'bold',  // 粗体
                    'fontSize',  // 字号
                    'fontName',  // 字体
                    'italic',  // 斜体
                    'underline',  // 下划线
                    'strikeThrough',  // 删除线
                    'foreColor',  // 文字颜色
                    'backColor',  // 背景颜色
                    'link',  // 插入链接
                    'list',  // 列表
                    'justify',  // 对齐方式
                    'quote',  // 引用
                    'emoticon',  // 表情
                    'image',  // 插入图片
                    'table',  // 表格
                    'video',  // 插入视频
                    'code',  // 插入代码
                    'undo',  // 撤销
                    'redo'  // 重复
                ];
            }
        }catch (e) {
            console.log("get_menu error:",e);
        }
    }
};